﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HomagGroup.Base.UI;

namespace Proxy
{
    public class LayerInfo
    {
        public string Name { get; set; }
        public string Boardcode { get; set; }
        public string BoardName { get; set; }
        public string MaterialName { get; set; }
        public float? Length { get; set; }
        public float? Width { get; set; }
        public float? Thickness { get; set; }
        public string BoardState { get; set; }
        public double PrePackID { get; set; }

        /// <summary>
        /// 货架号
        /// </summary>
        public int RSShelfOrder { get; set; }

        /// <summary>
        /// 所在层
        /// </summary>
        public int RSLayerNum { get; set; }

        /// <summary>
        /// 所在列
        /// </summary>
        public float RSCenterX { get; set; }

        /// <summary>
        /// 所在列坐标
        /// </summary>
        public float? CalCenterX { get; set; }

        public float? RSCenterY { get; set; }
        public string SortType { get; set; }
        public string SortState { get; set; }
        public bool PackRt90 { get; set; }
        public float? ZCoor { get; set; }

        public override string ToString()
        {
            return Name;
        }
    }

    public class BatchList : NotifyPropertyChangedBase
    {
        public string Name { get; set; }
        public string BatchCode { get; set; }
        public string CabinetsNum { get; set; }

        public string ParcelsNum { get; set; }
        public string PackNum { get; set; }
        public string WaitCont { get; set; }
        public string MissingNum { get; set; }

        public string State { get; set; }
        private ObservableCollection<BatchInfo> _Childs;

        public ObservableCollection<BatchInfo> Childs
        {
            get => _Childs;
            set => _Childs = value;
        }

        public override string ToString()
        {
            return Name;
        }
    }

    public class BatchInfo : NotifyPropertyChangedBase
    {
        public string Name { get; set; }
        public string ParcelsNo { get; set; }
        public int WaitParcelsNum { get; set; }
        public int ParkNum { get; set; }
        public int LackNum { get; set; }
        private ObservableCollection<LayerInfo> _Childs;

        public ObservableCollection<LayerInfo> Childs
        {
            get => _Childs;
            set => _Childs = value;
        }

        public override string ToString()
        {
            return Name;
        }
    }
}